//
//  UITableViewCell+XBAdd.m
//  XBCategoriesDemo
//
//  Created by kevin007 on 2021/4/12.
//

#import "UITableViewCell+XBAdd.h"
#import "UIView+XBAdd.h"

@implementation UITableViewCell (XBAdd)
/** 从xib加载cell，自动复用 */
+ (instancetype)cellFromXibWithTableView:(UITableView *)tableView {
    NSString *identifier = self.reusedId;
    UITableViewCell *cell =
        [tableView dequeueReusableCellWithIdentifier:identifier];
    if (!cell) {
        NSLog(@"register cell");
        [tableView registerNib:[UINib nibWithNibName:identifier bundle:nil]
            forCellReuseIdentifier:identifier];
        cell = [self cellFromXibWithTableView:tableView];
    }
    return cell;
}

/** 加载纯代码cell，自动复用 */
+ (instancetype)cellFromClassWithTableView:(UITableView *)tableView {
    NSString *identifier = self.reusedId;
    UITableViewCell *cell =
        [tableView dequeueReusableCellWithIdentifier:identifier];
    if (!cell) {
        NSLog(@"register cell");
        [tableView registerClass:NSClassFromString(identifier) forCellReuseIdentifier:identifier];
        cell = [self cellFromXibWithTableView:tableView];
    }
    return cell;
}
@end
